#pragma once

#include <vector>

struct PitchOut;
class Sample;
typedef std::vector<Sample*> SampleVector;

class Recorder
{
public:
	Recorder(void);
	~Recorder(void);

	void AddModulatorSample(Sample* s);
	void AddCarrierSample(Sample* s);
	void AddVocoderSample(Sample* s);
	void AddPitchTrackerSample(PitchOut* p);

	void SaveSamplesToFiles();

private:
	SampleVector modulatorSamples;
	SampleVector carrierSamples;
	SampleVector vocoderSamples;
	std::vector<PitchOut*> pitchSamples;
};
